function isValid(s: string): boolean {
    // 长度取余2 1返回false
    if(s.length%2) return false;
    const stack = [];
    const pairs = new Map<string, string>().set(')', '(').set(']', '[').set('}', '{');

    for(let pair of s) {
        // console.log(pair);
        if(pairs.has(pair)) {
            // 
            // console.log(pairs.has(pair))
            // if()
            if(!stack.length || stack[stack.length - 1] !== pairs.get(pair)) {
                return false;
            } 
            stack.pop()
        } else {
            stack.push(pair)
        } 
    }
    return !stack.length;
};

const s = "{[]"
console.log(isValid(s))